package com.ruoyi.fitsculpt.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.common.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;

/**
 * 运动打卡记录对象 easyfit_exercise_logs
 *
 * @author metaee
 * @date 2025-02-27
 */
@ApiModel("运动打卡记录对象")
public class EasyfitExerciseLogs extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 记录ID
     */
    @ApiModelProperty("记录ID")
    @Excel(name = "记录ID")
    private Long logId;

    /**
     * 用户ID
     */
    @ApiModelProperty("用户ID")
    @Excel(name = "用户ID")
    private Long userId;

    /**
     * 计划详情ID
     */
    @ApiModelProperty("计划详情ID")
    @Excel(name = "计划详情ID")
    private Long planDetailId;

    /**
     * 实际组数
     */
    @ApiModelProperty("实际组数")
    @Excel(name = "实际组数")
    private Long actualSets;

    /**
     * 实际次数
     */
    @ApiModelProperty("实际次数")
    @Excel(name = "实际次数")
    private Long actualReps;

    /**
     * 实际运动时长(分钟)
     */
    @ApiModelProperty("实际运动时长(分钟)")
    @Excel(name = "实际运动时长(分钟)")
    private Long actualDuration;

    /**
     * 消耗卡路里
     */
    @ApiModelProperty("消耗卡路里")
    @Excel(name = "消耗卡路里")
    private Long caloriesBurned;

    /**
     * 记录日期
     */
    @ApiModelProperty("记录日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date logDate;

    /** 关联的用户信息 */
    @TableField(exist = false)
    private EasyfitUsers user;

    public Long getLogId() {
        return logId;
    }

    public void setLogId(Long logId) {
        this.logId = logId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getPlanDetailId() {
        return planDetailId;
    }

    public void setPlanDetailId(Long planDetailId) {
        this.planDetailId = planDetailId;
    }

    public Long getActualSets() {
        return actualSets;
    }

    public void setActualSets(Long actualSets) {
        this.actualSets = actualSets;
    }

    public Long getActualReps() {
        return actualReps;
    }

    public void setActualReps(Long actualReps) {
        this.actualReps = actualReps;
    }

    public Long getActualDuration() {
        return actualDuration;
    }

    public void setActualDuration(Long actualDuration) {
        this.actualDuration = actualDuration;
    }

    public Long getCaloriesBurned() {
        return caloriesBurned;
    }

    public void setCaloriesBurned(Long caloriesBurned) {
        this.caloriesBurned = caloriesBurned;
    }

    public Date getLogDate() {
        return logDate;
    }

    public void setLogDate(Date logDate) {
        this.logDate = logDate;
    }

    public EasyfitUsers getUser() {
        return user;
    }

    public void setUser(EasyfitUsers user) {
        this.user = user;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("logId", getLogId())
                .append("userId", getUserId())
                .append("planDetailId", getPlanDetailId())
                .append("actualSets", getActualSets())
                .append("actualReps", getActualReps())
                .append("actualDuration", getActualDuration())
                .append("caloriesBurned", getCaloriesBurned())
                .append("logDate", getLogDate())
                .append("createTime", getCreateTime())
                .toString();
    }
}
